/**
 *====================================================
 * 文件名称: InsuranceEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月23日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.project.entity.lexicon.InsuranceStateEnum;
import com.yuexunit.finance.project.entity.lexicon.OperatorRoleEnum;
import com.yuexunit.finance.project.entity.lexicon.PurchaseEnum;

/**
 * @ClassName: InsuranceEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年9月23日 下午4:11:42
 */
@Entity
@Table(name = "FIN_INSURANCE")
public class InsuranceEntity {

	/** 融资保单ID */
	@Id
	@GeneratedValue
	@Column(name = "INSURANCE_ID")
	private Long insuranceId;

	/** 融资信息ID */
	@Column(name = "FINANCE_ID")
	private Long financeId;

	/** 融资信息编号 */
	@Column(name = "FINANCE_NUMBER")
	private String financeNumber;

	/** 发货地 */
	@Column(name = "DELIVER_ADDRESS")
	private String deliverAddress;

	/** 收货地 */
	@Column(name = "RECEIVE_ADDRESS")
	private String receiveAddress;

	/** 保单编号 */
	@Column(name = "INSURANCE_NUMBER")
	private String insuranceNumber;

	/** 保险公司 */
	@Column(name = "INSURANCE_COMPANY")
	private String insuranceCompany;

	/** 投保时间 */
	@Column(name = "INSURANCE_D8")
	private Integer insuranceDate;

	/** 投保总金额 */
	@Column(name = "TOTAL_AMOUNT")
	private BigDecimal totalAmount;

	/** 保险费总额 */
	@Column(name = "TOTAL_PREMIUM")
	private BigDecimal totalPremium;
	
	/** 已支付保费 */
	@Column(name = "ALREADY_PREMIUM")
	private BigDecimal alreadyPremium;

	/** 保险状态 0:未知/1:待审批/2:已生效/3:已撤销 */
	@Column(name = "INSURANCE_STATE")
	private InsuranceStateEnum insuranceState;
	
	/** 审批人 */
	@Column(name = "AUDITOR")
	private String auditor;
	
	/** 审批时间 */
	@Column(name = "AUDIT_DATE")
	private Date auditDate;

	/** 撤销原因 */
	@Column(name = "OVER_RESON")
	private Integer overReson;

	/** 撤销说明 */
	@Column(name = "OVER_REMARK")
	private String overRemark;

	/** 购买类型 0:未知/1:委托购买/2:平台自有 */
	@Column(name = "PURCHASE")
	private PurchaseEnum purchase;

	/** 投保类型 0:未知/1:内部平台/2:供应商(物流)/3:客户(企业)/4:其他 */
	@Column(name = "MOLD")
	private OperatorRoleEnum mold;

	/** 投保单位租户ID */
	@Column(name = "APPLICANT_TENANT_ID")
	private Long applicantTenantId;

	/** 投保单位ID */
	@Column(name = "APPLICANT_ID")
	private Long applicantId;

	/** 投保人 */
	@Column(name = "APPLICANT")
	private String applicant;

	/** 投保人单位 */
	@Column(name = "APPLICANT_DEPARTMENT")
	private String applicantDepartment;

	/** 投保人地址 */
	@Column(name = "APPLICANT_ADDRESS")
	private String applicantAddress;

	/** 投保副本信息 */
	@Column(name = "INSURANCE_FILE_UUID")
	private String insuranceFileUuid;

	/** 投保说明 */
	@Column(name = "INSURE_REMARK")
	private String insureRemark;

	public BigDecimal getAlreadyPremium() {
		return alreadyPremium;
	}

	public void setAlreadyPremium(BigDecimal alreadyPremium) {
		this.alreadyPremium = alreadyPremium;
	}

	public String getAuditor() {
		return auditor;
	}

	public void setAuditor(String auditor) {
		this.auditor = auditor;
	}

	public Date getAuditDate() {
		return auditDate;
	}

	public void setAuditDate(Date auditDate) {
		this.auditDate = auditDate;
	}

	public Long getInsuranceId() {
		return insuranceId;
	}

	public void setInsuranceId(Long insuranceId) {
		this.insuranceId = insuranceId;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public String getInsuranceNumber() {
		return insuranceNumber;
	}

	public void setInsuranceNumber(String insuranceNumber) {
		this.insuranceNumber = insuranceNumber;
	}

	public String getInsuranceCompany() {
		return insuranceCompany;
	}

	public void setInsuranceCompany(String insuranceCompany) {
		this.insuranceCompany = insuranceCompany;
	}

	public Integer getInsuranceDate() {
		return insuranceDate;
	}

	public void setInsuranceDate(Integer insuranceDate) {
		this.insuranceDate = insuranceDate;
	}

	public BigDecimal getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	public BigDecimal getTotalPremium() {
		return totalPremium;
	}

	public void setTotalPremium(BigDecimal totalPremium) {
		this.totalPremium = totalPremium;
	}

	public InsuranceStateEnum getInsuranceState() {
		return insuranceState;
	}

	public void setInsuranceState(InsuranceStateEnum insuranceState) {
		this.insuranceState = insuranceState;
	}

	public Integer getOverReson() {
		return overReson;
	}

	public void setOverReson(Integer overReson) {
		this.overReson = overReson;
	}

	public String getDeliverAddress() {
		return deliverAddress;
	}

	public void setDeliverAddress(String deliverAddress) {
		this.deliverAddress = deliverAddress;
	}

	public String getReceiveAddress() {
		return receiveAddress;
	}

	public void setReceiveAddress(String receiveAddress) {
		this.receiveAddress = receiveAddress;
	}

	public String getOverRemark() {
		return overRemark;
	}

	public void setOverRemark(String overRemark) {
		this.overRemark = overRemark;
	}

	public PurchaseEnum getPurchase() {
		return purchase;
	}

	public void setPurchase(PurchaseEnum purchase) {
		this.purchase = purchase;
	}

	public OperatorRoleEnum getMold() {
		return mold;
	}

	public void setMold(OperatorRoleEnum mold) {
		this.mold = mold;
	}

	public Long getApplicantTenantId() {
		return applicantTenantId;
	}

	public void setApplicantTenantId(Long applicantTenantId) {
		this.applicantTenantId = applicantTenantId;
	}

	public Long getApplicantId() {
		return applicantId;
	}

	public void setApplicantId(Long applicantId) {
		this.applicantId = applicantId;
	}

	public String getApplicant() {
		return applicant;
	}

	public void setApplicant(String applicant) {
		this.applicant = applicant;
	}

	public String getApplicantDepartment() {
		return applicantDepartment;
	}

	public void setApplicantDepartment(String applicantDepartment) {
		this.applicantDepartment = applicantDepartment;
	}

	public String getApplicantAddress() {
		return applicantAddress;
	}

	public void setApplicantAddress(String applicantAddress) {
		this.applicantAddress = applicantAddress;
	}

	public String getInsuranceFileUuid() {
		return insuranceFileUuid;
	}

	public void setInsuranceFileUuid(String insuranceFileUuid) {
		this.insuranceFileUuid = insuranceFileUuid;
	}

	public String getInsureRemark() {
		return insureRemark;
	}

	public void setInsureRemark(String insureRemark) {
		this.insureRemark = insureRemark;
	}

}
